안드로이드(Android) - Fragment :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-07-15 08:27:13 (0%)
작성자:
제목:안드로이드(Android) - Fragment

Fragment ?

Activity 위에서 보여지는 View입니다. 즉 Activity 위에서 기생합니다.

절대 혼자서 보여질 수 없습니다.

Fragment 간의 이동은 반드시 Activity를 통해서 이동합니다.

Activity 안에서 구조는 같지만 Fragment를 이용해서 화면이 달라지도록 만듭니다.

Fragment는 Activity에 존재하는 공통 자원(Resources)을 이용할 수 있습니다.

테블릿(허니콤 이상)에서 화면을 분할하기 위한 용도로 개발되었습니다.

화면 분할 이외에 FrameLayout을 대체할 수도 있는 View로 사용됩니다.

Fragment가 바뀌면서 파라미터로 데이터를 전달할 수 있습니다.

한마디로, 한 화면(Activity)에서 화면(Activity) 이동 없이 여러 레이아웃을 보여줄 수 있습니다.


View Pager(Flipper)

하나의 Activity 안에 여러 Fragment를 올려놓고 좌/우로 스크롤하여 Frament를 이동시킬때 사용하는 클래스입니다.

일반적으로 좌/우 화면을 전환할 경우 Gallery, HorizontalScrollView, 등을 이용하여 개발을 많이 하는데, 전문적으로 화면 전환을 위해 만들어진 ViewPager를 이용하면 좀 더 편리하고 기능적인 화면을 구성 할 수 있습니다.


Fragment 준비하기

My Fragment라는 프로젝트를 만들어 보겠습니다.



Fragment 만들기

New > fragment > fragment(Black) 를 통해 Fragment를 만듭니다.


MainFragment.java 파일을 수정합니다.

public class MainFragment extends Fragment {

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        // 화면(Fragment)마다 타이틀을 다르게 줄 수 있다.
        getActivity().setTitle("프래그먼트 타이틀");

        ((MainActivity) getActivity()).getSupportActionBar().hide();

        // 해당 프래그먼트가 보여줄 Layout을 정의한다.
        LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.fragment_main, container, false);

        layout.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                ((MainActivity) getActivity()).getSupportActionBar().show();
            }
        });

        return layout;
    }
}

또한, Layout 에 fragment_main.xml이 만들어졌습니다.


Fragment를 이용하기 위해선 레이아웃을 변경해야합니다.

activity_main.xml 레이아웃을 아래와 같이 수정합니다.

노란부분에 있는 fragment_main 을 기본(Default) Fragment로 지정합니다.

그 Fragment가 보여줄 Layout에 대한 정의를 MainActivity


결과 화면입니다.



[본문링크] 안드로이드(Android) - Fragment
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34707
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.